package com.tiancheng.trade.payment.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现
 */
@Getter
@Setter
@ToString
@TableName(value = "withdrawal")
public class Withdrawal implements Serializable {

    // 主键
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 提现id
     */
    private String withdrawalId;
    /**
     * 提现流水号（银行侧）
     */
    private String ssn;
    /**
     * 交易中台商户进件id
     */
    private Long merchantRegId;
    /**
     * 交易中台商户编码
     */
    private String merchantCode;
    /**
     * 商户名称
     */
    private String merchantName;
    /**
     * 支付通道侧子商户id(支付商户)
     */
    private String subMerchantId;
    /**
     * 企业用户号（提现商户）
     */
    private String enterpriseCode;
    /**
     * 提现金额
     */
    private Integer amount;
    /**
     * 手续费
     */
    private Integer fee;
    /**
     * 提现状态
     */
    private String withdrawalStatus;
    /**
     * 机构支付通道id
     */
    private Long orgPaymentChannelId;
    /**
     * 支付渠道编码
     */
    private String paymentChannel;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 提现成功时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime completeTime;
    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;

}

